iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
Mobile Development

Android studio 30天新手筆記系列 第 11

Day11-Android新手筆記-Log基本介紹

  • 分享至 

  • xImage
  •  

學習Java語言時,相信大家都用過system.out.println等等的方式將資料給顯示出來,這是檢查程式邏輯的方式之一,可以透過一一排查的方式找到錯誤的地方。而Android studiou也有Log與上述的system.out.println可以達到一樣的作用,Log可以放在任何地方,方便我們用其了解目前程式的運行狀況。
Android Studio 提供 Logcat視窗,可以與Log搭配實現除錯的功能。以下介紹幾種代表不同狀況的Log及Log的簡易使用方法。
/images/emoticon/emoticon06.gif

Log

對我來說,我覺得Log就像一個公文夾,透過不同的頁標籤,你可以非常直覺的找出相對應的訊息,方便進行後續動作。

常見的Log分為五種類型:

  1. Log.v : verbose 詳細訊息
  2. Log.d : debug 調適訊息
  3. Log.i : info 較重要的提示
  4. Log.w : warn 警告訊息、淺在問題
  5. Log.e : error 錯誤訊息

Log有兩個欄位輸入,第一欄位為Tag,第二欄位為Message。搭配上邏輯判斷的效果如下:(說明:如果EditText輸入1時,Log則輸出"Enter 1")

Log.v("TAG","Message");

XML布局

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/editTextNumberPassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="numberPassword"
        app:layout_constraintBottom_toTopOf="@+id/button"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Java程式碼

public class MainActivity extends AppCompatActivity {
    private Button button;
    private EditText editText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = findViewById(R.id.button);
        editText = findViewById(R.id.editTextNumberPassword);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (editText.getText().toString().equals("0")) {
                    Log.v("Enter 0",editText.getText().toString());
                }
                else if(editText.getText().toString().equals("1")){
                    Log.v("Enter 1",editText.getText().toString());
                }
            }
        });
    }
}

結果圖

/images/emoticon/emoticon41.gif


上一篇
Day10-Android新手筆記-ProgressBar與ProgressBar客製化
下一篇
Day12-Android新手筆記-Spinner + Spinner客製化
系列文
Android studio 30天新手筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言